use crate::error::ModuleError;
use common::model::ProjectDirInfo;
use common::util::run_command;

const COMMAND_NAME: &str = "module_dev_sync";
pub async fn run_module_dev_sync(
    module_dir_info: ProjectDirInfo,
    temp_project_dir_info: ProjectDirInfo,
) -> Result<(), ModuleError> {
    run_command(
        &std::env::current_dir().inspect_err(|_| {
            eprintln!("run_module_dev_sync:获取当前目录错误");
        })?,
        COMMAND_NAME,
        &[
            "--source",
            module_dir_info.src_path().to_str().unwrap(),
            "--target",
            temp_project_dir_info.src_path().to_str().unwrap(),
        ],
    )
    .map_err(|err| ModuleError::Cmd(format!("{}", err)))
}
